package cn.wit.testalgorithms;
/**
 * 136.只出现一次的数字
 * 
 * 算法复杂度O(n),空间复杂度O(n)
 * 
 * 因为每两个相同的数做异或运算，其结果都为0，这里就一个数与其不同
 * 只有一位数字，所以最后的0与其y做异或，其结果自然为y
 * @author 16604
 *
 */

public class DemoAlgorithmOnlyAppearOnceNumbers {

	public static void main(String[] args) {
		
		int[] a= {2,2,1};
		
		System.out.println(singleNumber(a));
		
	}
	
	public static int singleNumber(int[] nums) {
		int temp = 0;
		for(int i =0;i<nums.length;i++) {	
			temp = temp^(nums[i]); 
		}
		return temp;
		
		
	}
}
